Curso Académico:
2022/23
625 - Graduado en Ingeniería de Datos en Procesos Industriales
29520 - Programación paralela
Información del Plan Docente
Año académico:
2022/23
Asignatura:
29520 - Programación paralela
Centro académico:
175 - Escuela Universitaria Politécnica de La Almunia
Titulación:
625 - Graduado en Ingeniería de Datos en Procesos Industriales
Créditos:
6.0
Curso:
2
Periodo de impartición:
Segundo semestre
Clase de asignatura:
Obligatoria
Materia:
---
1.1. Objetivos de la asignatura
En esta asignatura el alumno aprenderá a enfrentarse al diseño de programas en los que un conjunto de procesos deben sincronizarse, ya sea mediante mecanismos de memoria compartida como a través de redes de comunicaciones, llegando a poder razonar sobre la corrección de la solución propuesta.
Estos planteamientos y objetivos están alineados con los siguientes Objetivos de Desarrollo Sostenible (ODS) de la Agenda 2030 de Naciones Unidas (https://www.un.org/sustainabledevelopment/es/), de tal manera que la adquisición de los resultados de aprendizaje de la asignatura proporciona capacitación y competencia para contribuir en cierta medida a su logro:
- Objetivo 7: Energía asequible y no contaminante.
- Objetivo 8: Trabajo decente y crecimiento económico.
-
Meta 8.2 Lograr niveles más elevados de productividad económica mediante la diversificación, la modernización tecnológica y la innovación, entre otras cosas centrándose en los sectores con gran valor añadido y un uso intensivo de la mano de obra.
-
Meta 8.4. Mejorar progresivamente, de aquí a 2030, la producción y el consumo eficientes de los recursos mundiales y procurar desvincular el crecimiento económico de la degradación del medio ambiente, conforme al Marco Decenal de Programas sobre modalidades de Consumo y Producción Sostenibles, empezando por los países desarrollados.
- Objetivo 9: Industria, innovación e infraestructuras.
-
Meta 9.1: Desarrollar infraestructuras fiables, sostenibles, resilientes y de calidad, incluidas infraestructuras regionales y transfronterizas, para apoyar el desarrollo económico y el bienestar humano, haciendo especial hincapié en el acceso asequible y equitativo para todos.
-
Meta 9.5 Aumentar la investigación científica y mejorar la capacidad tecnológica de los sectores industriales.
- Meta 9.c Aumentar significativamente el acceso a la tecnología de la información y las comunicaciones.
1.2. Contexto y sentido de la asignatura en la titulación
Programación Paralela es una asignatura de 2º curso que aparece a continuación de la asignatura "Estructura de Datos y Algoritmos" (2º curso, 1º semestre).
Es una asignatura obligatoria que se encuentra dentro del módulo de Procesado de Datos, en la materia "Algoritmos y Datos", junto a las asignaturas de "Programación" y "Estructura de Datos y Algoritmos".
1.3. Recomendaciones para cursar la asignatura
El alumno que curse esta asignatura ha de contar con una formación robusta en programación, siendo muy recomendable haber superado la asignatura "Estructuras de Datos y Algoritmos".
2. Competencias y resultados de aprendizaje
2.1. Competencias
Al superar la asignatura, el alumno habrá adquirido las siguientes competencias:
- CB2 - Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
- CG03 - Aplicar técnicas para la adquisición, gestión y tratamiento de datos en la Ingeniería.
- CG05 - Resolver problemas tecnológicos que puedan plantearse en la Ingeniería de datos.
- CT01 - Trabajar cooperativamente asumiendo y respetando el rol de los diferentes miembros del equipo.
- CT05 - Comunicación de resultados de manera efectiva.
- CT07 - Analizar y solucionar problemas de forma autónoma, adaptarse a situaciones imprevistas y tomar decisiones.
- CE01 - Diseñar e implementar algoritmos en lenguajes de programación de alto nivel, utilizando metodologías actuales.
- CE14 - Construir los tipos y estructuras de datos más adecuados a la resolución de un problema.
2.2. Resultados de aprendizaje
El estudiante, para superar esta asignatura, deberá demostrar los siguientes resultados...
- El estudiante terminará con un conocimiento profundo de cuáles son las características específicas de los sistemas concurrentes y distribuidos.
- Conocerá los problemas generados por el acceso concurrente a datos y recursos, así como las soluciones conceptuales y tecnológicas que se han dado a los mismos.
- Conocerá las características de los sistemas distribuidos, los retos que plantea y las soluciones que se han planteado para los mismos.
- Tendrá nociones de qué son los sistemas tiempo real, y sistemas basados en eventos.
- Conocerá herramientas para el diseño y programación de programas con características concurrentes y/o distribuidas.
2.3. Importancia de los resultados de aprendizaje
Esta materia supone un primer contacto con la programación concurrente y distribuida. Para un Ingeniero de Datos, una base sólida en estos aspectos es imprescindible para poder desenvolverse en el mundo industrial.
3.1. Tipo de pruebas y su valor sobre la nota final y criterios de evaluación para cada prueba
El proceso evaluativo incluirá dos tipos de actuación:
- Un sistema de evaluación continua, que se realizará a lo largo de todo el período de aprendizaje.
- Una prueba global de evaluación, que refleje la consecución de los resultados de aprendizaje, al término del período de enseñanza.
1-Sistema de evaluación continua.
Siguiendo el espíritu de Bolonia, en cuanto al grado de implicación y trabajo continuado del alumno a lo largo del curso, la evaluación de la asignatura contempla el sistema de evaluación continua como el más acorde para estar en consonancia con las directrices marcadas por el nuevo marco del EEES.
El sistema de evaluación continua va a contar con el siguiente grupo de actividades calificables:
- Trabajos: Los trabajos consistirán en ejercicios prácticos, solución a problemas propuestos, cuestionarios, etc. Se valorarán la corrección y calidad de los resultados. Dichas prácticas se efectuarán en grupos reducidos, en función de la disponibilidad de aulas informáticas. El porcentaje respecto de la nota global de todos estos trabajos será de un 40%.
- Pruebas evaluatorias: Hay tres a lo largo del curso. El porcentaje respecto de la nota global de cada prueba evaluatoria será de un 20%.
Es necesario superar por separado los trabajos y las pruebas evaluatorias para que puedan contribuir al promedio de la nota final.
Para optar al sistema de Evaluación Continua se deberá asistir, al menos, a un 80% de las actividades presenciales (prácticas, visitas técnicas, clases, etc.)
2-Prueba global de evaluación final.
El alumno deberá optar por esta modalidad cuando, por su coyuntura personal, no pueda adaptarse al ritmo de trabajo requerido en el sistema de evaluación continua, haya suspendido o quisiera subir nota habiendo sido partícipe de dicha metodología de evaluación.
La prueba global de evaluación final va a contar con el siguiente grupo de actividades calificables:
- Examen: Se realiza en las convocatorias oficiales. Siempre se podrá seguir esta opción a pesar de que el alumno haya usado el sistema de evaluación continua. (50% de la nota final).
- Los trabajos, ejercicios prácticos, solución a problemas propuestos, cuestionarios, etc, que no se hayan entregado durante el curso y que pueden entregarse en una nueva versión el día de la convocatoria. (50% de la nota final).
4. Metodología, actividades de aprendizaje, programa y recursos
4.1. Presentación metodológica general
La asignatura es eminentemente práctica, por tanto se ha planteado con una fuerte carga práctica tanto de elaboración de problemas en clase como realizando prácticas en el aula. También hay una parte teórica.
La organización de la enseñanza se llevará a cabo mediante estos pasos:
- Clases de teoría: Actividades llevadas a cabo mediante la exposición del profesor, donde se muestran los conceptos de la asignatura, resaltando los fundamentos, estructurados en secciones, e interrelacionando unos con otros.
- Clases prácticas: El profesor resuelve problemas prácticos o casos con propósitos demostrativos. Este tipo de enseñanza complementa la teoría mostrada en las clases con aspectos prácticos.
- Sesiones de laboratorio: El grupo de la asignatura se divide en varios grupos de alumnos, de acuerdo con el número de alumnos matriculados, para conseguir grupos de tamaño pequeño.
- Tutorías individuales: Llevadas a cabo de manera individual, con atención personalizada por parte de un profesor del departamento. Las tutorías pueden ser en persona y también online.
El planteamiento, metodología y evaluación de esta guía está preparado para ser el mismo en cualquier escenario de docencia. Se ajustarán a las condiciones socio-sanitarias de cada momento, así como a las indicaciones dadas por las autoridades competentes.
El primer día de clase se proporcionará más información acerca de la organización de la asignatura.
4.2. Actividades de aprendizaje
Actividades genéricas presenciales:
- Clases teóricas: Se explicarán los conceptos teóricos de la asignatura y se desarrollarán ejemplos prácticos ilustrativos como apoyo a la teoría cuando se crea necesario.
- Clases prácticas: Se realizarán problemas y casos prácticos como complemento a los conceptos teóricos estudiados.
- Prácticas de laboratorio: Los alumnos serán divididos en varios grupos de no más de 20 alumnos/as, estando tutorizados por el profesor.
Actividades genéricas no presenciales
- Estudio y asimilación de la teoría expuesta en las clases magistrales.
- Comprensión y asimilación de problemas y casos prácticos resueltos en las clases prácticas.
- Resolución de problemas propuestos, proyecto, etc.
- Preparación de las prácticas de laboratorio, elaboración de los guiones e informes correspondientes.
- Preparación de las pruebas escritas de evaluación continua y exámenes finales.
4.3. Programa
El programa de la asignatura se estructura en torno a dos componentes de contenidos complementarios:
Contenidos Teóricos:
- Introducción a la programación concurrente.
- Modelado y análisis de sistemas concurrentes.
- El problema de la sección crítica.
- Semáforos.
- Monitores.
- Introducción a la programación distribuida.
- Coordinación basada en espacios de tuplas.
- Algoritmos distribuidos.
- Introducción a los sistemas de tiempo real.
- Introducción a los sistemas dirigidos por eventos.
Contenidos prácticos:
Cada tema expuesto en la sección anterior, lleva asociadas prácticas al respecto. Conforme se desarrollen los temas se irán planteando dichas prácticas, bien en clase o mediante la plataforma Moodle.
4.4. Planificación de las actividades de aprendizaje y calendario de fechas clave
La asignatura consta de 6 créditos ECTS, lo cual representa 150 horas de trabajo del alumno/a en la asignatura durante el semestre, es decir, 10 horas semanales durante 15 semanas lectivas.
Un resumen de la distribución temporal orientativa de una semana lectiva es el siguiente:
- 1 hora de clases magistrales
- 3 horas de prácticas de laboratorio
- 6 horas de otras actividades
No obstante la tabla anterior podrá quedar más detallada, teniéndose en cuenta la distribución global siguiente:
- 15 horas de clase magistral.
- 41 horas de prácticas de laboratorio.
- 4 horas de pruebas evaluatorias escritas, a razón de dos horas por prueba.
- 45 horas de ejercicios y trabajos tutelados, repartidas a largo de las 15 semanas de duración del semestre.
- 45 horas de estudio personal, repartidas a lo largo de las 15 semanas de duración del semestre.
Existe un cronograma orientativo preparado por el profesor que puede ser solicitado por los estudiantes que lo deseen.
Las fechas de los exámenes finales serán las publicadas de forma oficial en https://eupla.unizar.es